# Примеры кода

**PHP**

`class Image`

Класс для уменьшения изображения до заданных размеров, а также генерации миниатюр (если необходимо).

 - Проверяет изображение на соответствие поддерживаемым типам.
 - Уменьшает изображение.
 - Создает название миниатюры.
 - Размещает изображение (уменьшенное или нет) и миниатюру по новому пути, заданному в конфигурации.

Демонстрирует работу с изображениями (распознавание типа, изменение размера), конфигурацией.

**MySQL**

`database.sql`

Создание структуры БД (удаляет старую структуру если имеется).

 - Таблица с данными пользователей.
 - Таблица со списком стран (названия стран могут быть на разных языках).
 - Таблица со списком языков, использующихся в системе (в частности для списка стран).
 - Заполнение таблицы языков начальными данными.
 
Демонстрирует использование типов полей, связей таблиц, индексов, автоматическую установку полей "создано" (`created`) и "изменено" (`modified`).
 
`query.sql`

Содержит запрос, вычисляющий и выводящий баллы по результатам ставкок на игру (бои MMA).
Далее под "боем" подразумевается сражение двух бойцов MMA, длящееся несколько раундов.
Пользователь делает ставки - выбирает кто выиграет, на каком раунде, на какой минуте раунда, каким методом будет одержана победа.
Если угадан победитель, то начисляется 10 очков и далее рассчитываются дополнительные баллы.

 - За угаданный раунд/минуту/метод начисляется 5 очков.
 - В случае если будет угадан раунд, минута и метод одновременно, то начисляется дополнительно 5 очков.
 
Таблица `FIGHTS` - содержит список боёв.
`POOLS` - список пулов с боями (один пул состоит из нескольких боёв).
`USERPICKS` - список ставок пользователей на каждый отдельный бой.

Очки рассчитываются для пула ("pool_id" в запросе SQL).

Пример результата запроса:

| points | userID |
|-------:|-------:|
|     95 | 104    |
|     55 | 129    |
|    100 | 130    |
|     85 | 132    |
|    110 | 133    |
|     90 | 134    |

Запрос показывает связи между таблицами и вычисление данных по состоянию полей.

